package chapter07;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedList;

public class Java13_Collection_Exception {
    public static void main(String[] args) {
        // TODO 集合-异常

        // 容量，不能小于0
        // ArrayList list = new ArrayList(-1);  报错：非法参数异常，java.lang.IllegalArgumentException: Illegal Capacity: -1
        ArrayList list = new ArrayList(10);
        list.add("a");
        list.add("b");
        list.add("c");

        // 如果访问的集合是数组，那么索引范围就是0~数组长度-1
        // 如果访问的集合是list，那么索引范围就是0~数据长度-1
        // System.out.println(list.get(4)); 报错：超出索引，java.lang.IndexOutOfBoundsException: Index 4 out of bounds for length 3
        System.out.println(list.get(2));
        System.out.println("-----------------------");

        LinkedList list1 = new LinkedList();
        // System.out.println(list1.getFirst());   报错：没有元素，java.util.NoSuchElementException
        list1.add("a");
        System.out.println(list1.getFirst());
        System.out.println("-----------------------");

        // HashMap一旦循环遍历时，如果增加/删除数据就会发生错误
        HashMap map = new HashMap();
        map.put("a", "1");
        map.put("b", "2");
        map.put("c", "3");

//         for (Object o : map.keySet()) {
//            if ("b".equals(o)) {
//                map.put("d", "4");
//            }
//            if ("b".equals(o)) {
//                map.remove(o);
//            }
//            System.out.println(map.get(o)); //报错：java.util.ConcurrentModificationException
//        }

    }
}
